table of contents
STRCAT(3) | Руководство программиста Linux | STRCAT(3) |
ИМЯ¶
strcat, strncat - объединяет две строки
ОБЗОР¶
#include <string.h> char *strcat(char *dest, const char *src); char *strncat(char *dest, const char *src, size_t n);
ОПИСАНИЕ¶
Функция strcat() добавляет строку src к строке dest, перезаписывая байт null ('\0') в конце dest и добавляет завершающий байт null. Строки не могут перекрываться, а в строке dest должно хватать свободного места для размещения объединённой строки.
Функция strncat() работает аналогичным образом, но
- задействует не менее n первых байт строки src и
- строка src может не завершаться байтом null, если в ней содержится n или более байт.
Как и strcat(), строка-результат в dest всегда заканчивается байтом null.
Если в src содержится n или более байт, то strncat() записывает n+1 байт в dest (n из src плюс завершающий байт null). Поэтому размер dest должен быть не менее strlen(dest)+n+1.
Простейшей
реализацией
strncat() может
быть:
char* strncat(char *dest, const char *src, size_t n) {
size_t dest_len = strlen(dest);
size_t i;
for (i = 0 ; i < n && src[i] != '\0' ; i++)
dest[dest_len + i] = src[i];
dest[dest_len + i] = '\0';
return dest; }
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
Функции strcat() и strncat() возвращают указатель на скопированную строку dest.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
SVr4, 4.3BSD, C89, C99.
СМОТРИТЕ ТАКЖЕ¶
bcopy(3), memccpy(3), memcpy(3), strcpy(3), string(3), strncpy(3), wcscat(3), wcsncat(3)
2012-05-10 | GNU |